package com.vhans.db.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.vhans.core.domain.BActivity;
import com.vhans.db.model.dto.ConditionDTO;
import com.vhans.core.web.model.dto.AgreementDTO;
import com.vhans.db.model.vo.agreement.AgreementHomeListVO;
import com.vhans.db.model.vo.agreement.activity.ActivityAgreementVO;
import com.vhans.db.model.vo.agreement.activity.ActivityInfoVO;
import com.vhans.db.model.vo.agreement.activity.ActivityVO;

import java.util.List;

/**
 * 活动业务接口
 *
 * @author vhans
 **/
public interface IBActivityService extends IService<BActivity> {

    /**
     * 查看活动列表
     *
     * @param condition 条件
     * @return 活动列表
     */
    List<ActivityVO> listActivityVO(ConditionDTO condition);

    /**
     * 添加活动
     *
     * @param activity 活动
     */
    void addActivity(AgreementDTO activity);

    /**
     * 删除活动
     *
     * @param activityId 活动id
     */
    void deleteActivity(Integer activityId);

    /**
     * 修改活动
     *
     * @param activity 活动
     */
    String updateActivity(AgreementDTO activity);

    /**
     * 编辑活动
     *
     * @param activityId 活动id
     * @return 活动
     */
    ActivityInfoVO editActivity(Integer activityId);

    /**
     * 查看首页活动列表
     *
     * @return 首页活动列表
     */
    List<AgreementHomeListVO> listActivityHomeVO();

    /**
     * 查看活动
     *
     * @param activityId 活动id
     * @return 活动
     */
    ActivityAgreementVO getActivityAgreementById(Integer activityId);

    /**
     * 参与活动
     *
     * @param activityId 活动id
     */
    String participationActivity(Integer activityId);
}
